from base import *
from sqlalchemy import ForeignKey, Binary
from sqlalchemy.orm import relationship

class UploadedFile(Base):
    """
    Clase que crea la tabla uploadfile
    """
    __tablename__ = 'uploadedfile'
    iditem     = Column(Integer, ForeignKey('item.id'), primary_key=True)
    idatributo = Column(Integer, ForeignKey('atributo.id'), primary_key=True)
    filename   = Column(Text, primary_key=True)
    data       = Column(Binary)
    size       = Column(Integer)
    version    = Column(Integer, primary_key=True)
    
    def __init__(self,iditem,idatributo,filename,data,size,version):
        """
        Metodo de instancia constructor que inicializa los parametros del objeto uploadfile
        @type self: UploadFile
        @param self: referencia al objeto que llama el metodo en este caso UploadFile.
        @type iditem: Integer
        @param iditem: identificador del item.
        @type idatributo: Integer
        @param idatributo: identificador del atributo.
        @type filename: Text
        @param filename: nombre del archivo.
        @type data: Binary
        @param data: contenido del archivo.
        @type size: Integer
        @param size: longitud en bytes del archivo.
        @type version: Integer
        @param version: version del item donde fue incluido.
        """
        self.iditem = iditem
        self.idatributo = idatributo
        self.filename = filename
        self.data = data
        self.size = size
        self.version = version
